Information processing device, information processing method, program, information providing device, and information processing system

ABSTRACT

Systems and methods for controlling presentation of a menu over a network are disclosed. In one embodiment, an information processing apparatus has a communication unit configured to communicate with an information-providing apparatus over the network, an input unit configured to receive input from a user of the information-processing apparatus, a storage unit storing one or more menus, and a control unit. The control unit is configured to receive, via the input unit, a selection of information for processing, to retrieve, from the storage unit, a first menu associated with the selected information, to receive, via the communication unit, a second menu associated with the selected information from the information-providing apparatus over the network, and to generate a third menu associated with the selected information based on the first menu and on the second menu.

PRIORITY APPLICATION

The present application claims the benefit of priority to JapanesePriority Patent Application JP 2010-105471 filed in the Japan PatentOffice on Apr. 30, 2010, which is expressly incorporated herein byreference in its entirety.

BACKGROUND

1. Technical Field

The present disclosure relates to an information processing device, aninformation processing method, a program, an information providingdevice, and an information processing system.

2. Description of the Related Art

In recent years, a client-server system in which a client (which is alsoreferred to hereinafter as an “information processing device”) and aserver (hereinafter as an “information providing device”) share the roleof a computer is used in various situations. In the client-serversystem, a user inputs a desired command to the client with looking atthe screen, and the client transmits a request corresponding to thecommand input by the user to the server. The server receives the requesttransmitted from the client, executes an operation corresponding to therequest, and transmits a result obtained by the execution as a responseto the request back to the client.

The screen to be displayed on the client is broadly classified into theone created by the server and the one created by the client. Thetechnique that creates the screen to be displayed on the client by theserver includes a technique that creates a Web screen by a Web server, atechnique that creates a screen to be delivered to electronic equipmentsuch as a television by an IPTV (Internet Protocol TeleVision) server, atechnique that creates a screen to be displayed on a computer at hand bya computer being operated in a remote desktop (cf. e.g. JapaneseUnexamined Patent Application Publication No. 2007-219790) and so on,for example.

Further, the technique that creates the screen to be displayed on theclient by the client itself includes a technique that creates a screenby a client operating in conformity with a protocol such as DLNA(Digital Living Network Alliance) and so on, for example.

SUMMARY

However, the technique that creates a screen to be displayed on theclient by the server has an issue that compatibility between the screenprestored in the client and the screen created by the server is notfavorable in some cases. The technique further has an issue that thedisplayed screen is made uniform among clients, and variations of thescreen to be displayed by the screen are reduced.

On the other hand, the technique that creates the screen to be displayedon the client by the client itself has an issue that, when a protocolused between the server and the client changes, for example, it isnecessary to change the function of creating the screen by the client inaccordance with the protocol after change.

In light of the foregoing, it is desirable to provide a novel andimproved technique capable of solving the problem of compatibilitybetween the screen prestored in the client and the screen created by theserver and flexibly responding to a change in the protocol used betweenthe server and the client.

According to exemplary embodiments of the disclosed subject matterdescribed above, it is possible to solve the problem of compatibilitybetween the screen prestored in the client and the screen created by theserver and flexibly respond to a change in the protocol used between theserver and the client.

One aspect of the disclosure relates to an information-processingapparatus for controlling presentation of a menu over a network. Theinformation processing apparatus may include a communication unitconfigured to communicate with an information-providing apparatus overthe network, an input unit configured to receive input from a user ofthe information-processing apparatus, a storage unit storing one or moremenus, and a control unit. The control unit may be configured toreceive, via the input unit, a selection of information for processing,to retrieve, from the storage unit, a first menu associated with theselected information, to receive, via the communication unit, a secondmenu associated with the selected information from theinformation-providing apparatus over the network, and to generate athird menu associated with the selected information based on the firstmenu and on the second menu.

Another aspect relates to a computer-implemented method for controllingpresentation of a menu over a network. The method may include receivinga selection of information for processing, accessing a first menuassociated with the selected information, the first menu stored at aninformation-processing apparatus, and receiving, from aninformation-providing apparatus over the network, a second menuassociated with the selected information. The method may further includegenerating a third menu associated with the selected information basedon the first menu and on the second menu.

Another aspect relates to a non-transitory computer-readable storagemedium storing instructions which, when executed by aninformation-processing apparatus, cause the information-processingapparatus to perform a method for controlling presentation of a menuover a network. The method may include receiving a selection ofinformation for processing, accessing a first menu associated with theselected information, the first menu stored at an information-processingapparatus, and receiving, from an information-providing apparatus overthe network, a second menu associated with the selected information. Themethod may further include generating a third menu associated with theselected information based on the first menu and on the second menu.

Another aspect relates to an information-providing apparatus forcontrolling the presentation of a menu over a network. Theinformation-providing apparatus may include a communication unitconfigured to communicate with an information-processing apparatus overthe network, a storage unit storing one or more menus, and a controlunit. The control unit may be configured to receive, via thecommunication unit, a selection of information for processing, toretrieve, from the storage unit, a first menu associated with theselected information to be combined with a second menu associated withthe selected information, the second menu being stored at theinformation-processing apparatus, and to send, via the communicationunit, the retrieved first menu to the information-processing apparatusover the network. The information processing apparatus may generate athird menu associated with the selected information by combining thefirst menu and the second menu.

Yet another aspect relates to a method for controlling the presentationof a menu over a network. The method may include receiving, at aninformation-providing apparatus, a selection of information forprocessing from an information-processing apparatus over the network,retrieving, from a storage unit at the information-providing apparatus,a first menu associated with the selected information to be combinedwith a second menu associated with the selected information, the secondmenu being stored at the information-processing apparatus. The methodmay further include sending the retrieved first menu to theinformation-processing apparatus over the network. The informationprocessing apparatus may then generate a third menu associated with theselected information by combining the first menu and the second menu.

Finally, another aspect relates to a non-transitory computer-readablestorage medium storing instructions which, when executed by aninformation-providing apparatus, cause the information-providingapparatus to perform a method for controlling the presentation of a menuover a network. The method may include receiving, at theinformation-providing apparatus, a selection of information forprocessing from an information-processing apparatus over the network,retrieving, from a storage unit at the information-providing apparatus,a first menu associated with the selected information to be combinedwith a second menu associated with the selected information, the secondmenu being stored at the information-processing apparatus, and sendingthe retrieved first menu to the information-processing apparatus overthe network

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a view to explain a client-server system in which a servercreates a screen;

FIG. 2 is a view to explain a client-server system in which a clientcreates a screen;

FIG. 3 is a view showing an example of display of a screen prestored ina client;

FIG. 4 is a view showing an example of display of a screen created byintegrating menu items prestored in an information processing deviceaccording to an embodiment and menu items received from an informationproviding device;

FIG. 5 is a view to explain an overview of functions of an informationprocessing system according to the embodiment;

FIG. 6 is a view showing a functional configuration of an informationproviding device according to the embodiment;

FIG. 7 is a view showing a functional configuration of an informationprocessing device according to the embodiment;

FIG. 8 is a view showing meaning of menu items transmitted from theinformation providing device according to the embodiment with respect toeach use case;

FIG. 9 is a view showing commands executed by the information processingdevice according to the embodiment with respect to each use case;

FIG. 10 is a view to explain an operation type indicating whether anextended definition of a remote operation according to the embodiment isused;

FIG. 11 is a view showing whether each property is necessary to supporteach use case to which the information processing system according tothe embodiment is applied;

FIG. 12 is a view showing whether each command is necessary to supporteach use case to which the information processing system according tothe embodiment is applied;

FIG. 13 is a view to explain each property used in the informationprocessing system according to the embodiment;

FIG. 14 is a view to explain each variable used in the informationprocessing system according to the embodiment;

FIG. 15 is a view to explain each command used in the informationprocessing system according to the embodiment;

FIG. 16 is a view to explain an argument and a returned value of acommand (first command) used in the information processing systemaccording to the embodiment;

FIG. 17 is a view to explain types of the returned value of the command(first command) used in the information processing system according tothe embodiment;

FIG. 18 is a view to explain an argument and a returned value of acommand (second command) used in the information processing systemaccording to the embodiment;

FIG. 19 is a view to explain types of the returned value of the command(second command) used in the information processing system according tothe embodiment;

FIG. 20 is a view to explain an argument and a returned value of acommand (third command) used in the information processing systemaccording to the embodiment;

FIG. 21 is a view to explain types of the returned value of the command(third command) used in the information processing system according tothe embodiment;

FIG. 22 is a view to explain an argument and a returned value of acommand (fourth command) used in the information processing systemaccording to the embodiment;

FIG. 23 is a view to explain types of the returned value of the command(fourth command) used in the information processing system according tothe embodiment;

FIG. 24 is a view showing an example of description of an acquisitionresponse transmitted by the information providing device according tothe embodiment;

FIG. 25 is a view showing an example of description and an example ofdisplay of an acquisition response transmitted by the informationprocessing device according to the embodiment;

FIG. 26 is a view showing an example of description of an executionrequest containing operation identification information selected by theinformation processing device according to the embodiment;

FIG. 27 is a view (first view) showing an example of description of anexecution response transmitted by the information providing deviceaccording to the embodiment;

FIG. 28 is a view (second view) showing an example of description of anexecution response transmitted by the information providing deviceaccording to the embodiment;

FIG. 29 is a view to explain an example (first example) of applicationof the information processing system according to the embodiment:

FIG. 30 is a view to explain an example (second example) of applicationof the information processing system according to the embodiment;

FIG. 31 is a view showing information for specifying a menu item to bedisplayed from types of contents by the information processing deviceaccording to the embodiment;

FIG. 32 is a view showing information for specifying a command to beexecuted from menu items prestored in the information processing deviceaccording to the embodiment;

FIG. 33 is a view showing information for specifying a command to beexecuted from menu items transmitted from the information providingdevice according to the embodiment;

FIG. 34 is a flowchart showing a flow of a process executed by theinformation processing device according to the embodiment;

FIG. 35 is a view to explain combination of menu items prestored in theinformation processing device according to the embodiment and menu itemstransmitted from the information providing device according to theembodiment;

FIG. 36 is a view showing an example of description of an executionresponse containing a message with a label indicating a type of themessage; and

FIG. 37 is a view showing an example of correspondence between a type ofa message and a value of a label.

DETAILED DESCRIPTION OF THE EMBODIMENT(S)

Hereinafter, exemplary embodiments consistent with the presentdisclosure will be described in detail with reference to the appendeddrawings. Note that, in this specification and the appended drawings,structural elements that have substantially the same function andstructure are denoted with the same reference numerals, and repeatedexplanation of these structural elements is omitted.

Exemplary embodiments will be described hereinafter in the followingorder.

1. Embodiment

-   -   1-1. Client-Server System in which Server Creates Screen    -   1-2. Client-Server System in which Client Creates Screen    -   1-3. Example of Display of Screen Prestored in Client    -   1-4. Example of Display of Screen Created by Integrating Menu        Items    -   1-5. Overview of Functions of Information Processing Device    -   1-6. Functional Configuration of Information Providing Device    -   1-7. Functional Configuration of Information Processing Device    -   1-8. Meaning of Menu Item Transmitted from Information Providing        Device    -   1-9. Command Executed by Information Processing Device    -   1-10. Operation Type Indicating whether Extended Definition is        Used    -   1-11. Property Necessary to Support Each Use Case    -   1-12. Command Necessary to Support Each Use Case    -   1-13. Each Property Used in Information Processing System    -   1-14. Variable Used in Information Processing System    -   1-15. Command Used in Information Processing System    -   1-16. Argument and Returned Value of First Command    -   1-17. Type of Returned Value of First Command    -   1-18. Argument and Returned Value of Second Command    -   1-19. Type of Returned Value of Second Command    -   1-20. Argument and Returned Value of Third Command    -   1-21. Type of Returned Value of Third Command    -   1-22. Argument and Returned Value of Fourth Command    -   1-23. Type of Returned Value of Fourth Command    -   1-24. Example of Description of Acquisition Response    -   1-25. Example of Description and Example of Display of        Acquisition Response    -   1-26. Example of Description of Execution Request    -   1-27. First Example of Description of Execution Response    -   1-28. Second Example of Description of Execution Response    -   1-29. First Example of Application of Information Processing        System    -   1-30. Second Example of Application of Information Processing        System    -   1-31. Information for Specifying Menu Item from Type of Content    -   1-32. Correspondence between Menu Item Stored in Information        Processing Device and Command    -   1-33. Correspondence between Menu Item Transmitted from        Information Providing Device and Command    -   1-34. Flow of Process Executed by Information Processing Device    -   1-35. Combination of Menu Items    -   1-36. Execution Response Containing Message with Label    -   1-37. Correspondence between Type of Message and Value of Label

2. Alternative Example

3. Summary

1. Embodiment 1-1. Client-Server System in which Server Creates Screen

FIG. 1 is a view to explain a client-server system in which a servercreates a screen. Referring to FIG. 1, in the client-server system, ascreen GU displayed on a client CL1 is created by a server SV1. When thescreen is transmitted from the server SV1 to the client CL1, a fixed UI(User Interface) transfer mode is used. Examples of such a client-serversystem include a system in which a Web server creates a Web screen, asystem in which an IPTV server creates a screen to be delivered toelectronic equipment such as a television, a system in which a computerbeing operated in a remote desktop creates a screen to be displayed on acomputer at hand and so on, for example.

Such a system has a property that compatibility between a screen createdby a function of screen display inherent to the client CL1 and a screencreated by the server SV1 is not favorable. Further, the system has aproperty that differentiation from another client is not made fordisplay of a screen created by the server SV1.

1-2. Client-Server System in which Client Creates Screen

FIG. 2 is a view to explain a client-server system in which a clientcreates a screen. Referring to FIG. 2, in the client-server system, ascreen GU displayed on a client CL2 is created by the client CL2 itself.A protocol used for communication between the client CL2 and a serverSV2 varies. Examples of such a client-server system include a system inwhich the client CL2 operating in conformity with a protocol such asDLNA creates a screen and so on, for example.

Such a system has a property that, when a protocol used between theserver SV2 and the client CL2 changes, it is necessary to change thefunction of creating the screen by the client CL2 in accordance with theprotocol after change.

In this specification, an information processing system that does nothave such properties of the client-server system in which the servercreates a screen and the client-server system in which the clientcreates a screen.

1-3. Example of Display of Screen Prestored in Client

FIG. 3 is a view showing an example of display of a screen prestored ina client. On a screen G11 which is prestored in the client, buttons(buttons “track 1” to “track 4”) indicating contents are set, and focusis placed on “track 2”.

In the state where the focus is placed on “track 2”, when a command forselecting a content on which the focus is placed is given to the client,operation specific information (which is also referred to hereinafter asa “menu item”) which are executable for a content corresponding to“track 2” are displayed within a window of a screen G12. In the exampleshown in FIG. 3, “play” and “detail information” are displayed as theoperation specific information executable for a content corresponding to“track 2”.

Hereinafter, various kinds of information contained in a request or aresponse is set to a predetermined position in the request or theresponse specified for each type of information by a transmission sourcedevice and acquired from the predetermined position by a transmissiondestination device.

1-4. Example of Display of Screen Created by Integrating Menu Items

FIG. 4 is a view showing an example of display of a screen created byintegrating menu items prestored in an information processing deviceaccording to an embodiment and menu items received from an informationproviding device. Referring to FIG. 4, on a screen G21 which isprestored in the information providing device 200, buttons (buttons“track 1” to “track 4”) indicating contents are set, and focus is placedon “track 2”.

In the state where the focus is placed on “track 2”, when a command forselecting a content on which the focus is placed is given to theinformation processing device 200, menu items which are executable for acontent corresponding to “track 2” are displayed within a window of ascreen G22. In the example shown in FIG. 4, “play”, “detailinformation”, “favorites” and “rate” are displayed as the menu itemsexecutable for a content corresponding to “track 2”. Of those menuitems, “play” and “detail information” are menu items prestored in theinformation processing device 200, and “favorites” and “rate” are menuitems received from the information providing device 100.

In the state where the focus is placed on “track 2”, when a command forshifting the focus among menu items is given to the informationprocessing device 200, the focus shifts within a window of a screen G23,and the focus is placed on the menu item “favorites”. In the state wherethe focus is placed on “track 2” and “favorites”, when a command forexecuting the operation is given to the information processing device200, processing for saving a content corresponding to “track 2” to“favorites” is executed. Then, on a screen G24, a message “saved tofavorites” is displayed.

As described above, in this embodiment, the information processingdevice 200 displays the screen created by integrating the prestored menuitems and the menu items received from the information providing device100 based on screen information held in its own device. The informationprocessing device 200 uses prestored information as the screeninformation such as display positions of menu items and uses bothprestored information and information received from the informationprocessing device 100 as the menu items.

In this manner, prestored menu items and menu items received from theinformation providing device 100 can be displayed in compatibility. Sucha technique is referred to hereinafter as ROP (Remote OPeration).Further, the information processing device 200 is referred to as an ROPclient, and the information providing device 100 is referred to as anROP server, occasionally.

1-5. Overview of Functions of Information Processing System

FIG. 5 is a view to explain an overview of functions of an informationprocessing system according to the embodiment. Referring to FIG. 5, aninformation processing system 10 includes the information providingdevice 100 and the information processing device 200. The informationproviding device 100 and the information processing device 200 existwithin the same home network, for example, and the information providingdevice 100 serves as DMS (Digital Media Server) and the informationprocessing device 200 serves as DMP (Digital Media Player), for example.Specifically, the information processing device 200 acquires a contentand a content list from the information providing device 100 inconformity with DLNA (Digital Living Network Alliance).

Further, the information providing device 100 may serve as DMS, and theinformation processing device 200 may serve as DMR (Digital MediaRenderer). This is described later with reference to FIGS. 29 and 30.Types of contents may be music data, video data, text data or the like,although not particularly limited.

Referring to FIG. 5, the information processing system 10 executesprocessing in the sequence of ROP compatibility check, acquisition of anadditional operation menu, and execution of an operation menu. In theabove description, the additional operation menu means a menu itemreceived from the information providing device 100. For example, in theROP compatibility check, when the information providing device 100serves as DMS, the information processing device 200 checks a CDS object(content) with an additional operation menu by using CDS (ContentDirectory Service) provided from the information providing device 100.Further, in the ROP compatibility check, when the information providingdevice 100 serves as DMR, for example, the information processing device200 checks whether there is an additional operation menu in a contentcurrently set to the information providing device 100.

Next, the information processing device 200 acquires the additionaloperation menu for the content with the additional operation menu. Then,the information processing device 200 executes an operation menu.

When the information providing device 100 serves as DMS, the informationprocessing device 200 acquires metadata of a content by a command“CDS:Browse( )”, for example, and performs ROP compatibility checkdepending on whether “av:msOplist” is contained as the metadata. Whenthe information providing device 100 serves as DMR, the informationprocessing device 200 acquires metadata of the currently set content bya command “AVT:GetPositionInfo( )”, for example, and performs ROPcompatibility check depending on whether “av:mrOplist” is contained asthe metadata.

Further, when the information providing device 100 serves as DMS, theinformation processing device 200 acquires an additional operation menuby a command “CDS:X_GetOperationList( )”, for example. When theinformation providing device 100 serves as DMR, the informationprocessing device 200 acquires an additional operation menu by a command“AVT:X_GetOperationList( )”, for example. The additional operation menuis sent from the information providing device 100 to the informationprocessing device 200 as “OpList”, for example.

Further, when the information providing device 100 serves as DMS, theinformation processing device 200 executes an operation menu by acommand “CDS:X_ExecuteOperation( )”, for example. When the informationproviding device 100 serves as DMR, the information processing device200 executes an operation menu by a command “AVT:X_ExecuteOperation( )”,for example. An execution result of the operation menu is sent from theinformation providing device 100 to the information processing device200 as “result display information”, for example.

1-6. Functional Configuration of Information Providing Device

FIG. 6 is a view showing a functional configuration of an informationproviding device according to the embodiment. The information providingdevice 100 at least includes a storage unit 130, a transmitting unit140, a receiving unit 110, and an execution unit 124.

The storage unit 130 has a function of storing first operation specificinformation indicating a specific detail of a first operation to beexecuted by the information providing device 100 and storing firstoperation identification information for identifying the firstoperation. In the above example, the first operation is an operationthat saves a content to favorites, an operation that changes the rate ofa content or the like, the first operation specific information is acharacter string “favorites”, “rate” or the like, and the firstoperation identification information is information for identifyingprocessing to save a content to favorites, information for identifyingan operation to change the rate of a content or the like. The storageunit 130 may be a storage device such as HDD or semiconductor memory,for example.

The transmitting unit 140 has a function of transmitting the firstoperation specific information and the first operation identificationinformation stored in the storage unit 130 to the information processingdevice 200. The transmitting unit 140 may be a communication device, forexample, and serves as a communication interface with the informationprocessing device 200.

The receiving unit 110 has a function of receiving an execution requestwhich contains selected operation identification information aftereither one of the first operation identification information or secondoperation identification information indicating a specific detail of asecond operation is selected as the selected operation identificationinformation by the information processing device 200. In the aboveexample, the second operation is an operation that plays a content, anoperation that displays detail information of a content or the like, andthe second operation specific information a character string “play”,“detail information” or the like, and the second operationidentification information is information for identifying an operationto play a content, information for identifying an operation to displaydetail information of a content or the like. The receiving unit 110 maybe a communication device, for example, and serves as a communicationinterface with the information processing device 200.

The execution unit 124 has a function of executing the operationidentified by the selected operation identification informationcontained in the execution request received by the receiving unit 110.The execution request is received by execution of a command“CDS:X_ExecuteOperation( )” or “AVT: X_ExecuteOperation( )” by theinformation processing device 200. For example, when the selectedoperation identification information contained in the execution requestreceived by the receiving unit 11 is information for identifying theoperation to play a content, the execution unit 124 executes theoperation of playing a content, which is the operation identified by theidentification information.

The information providing device 100 may further include a checking unit122. The checking unit 122 has a function of, as a response to a checkrequest received by the receiving unit 110, generating a check responsewhich contains content identification information for identifying acontent stored in the storage unit 130 and content relevant informationrelevant to the content. The check response is transmitted to theinformation processing device 200 by the transmitting unit 140.

The information providing device 100 may further include an acquisitionunit 123. The acquisition unit 123 has a function of, as a response toan acquisition request received by the receiving unit 110, acquiring anoperation list (first operation specific information) of the contentidentified by the content identification information contained in theacquisition request from the storage unit 130 and generating anacquisition response which contains the acquired operation list. Theacquisition response is transmitted to the information processing device200 by the transmitting unit 140.

The information providing device 100 may further include a receivedinformation determination unit 121. The received informationdetermination unit 121 has a function of determining the informationreceived by the receiving unit 110. For example, when the informationreceived by the receiving unit 110 contains information for identifyingthe acquisition request, the received information determination unit 121determines that the information received by the receiving unit 110 isthe acquisition request and outputs the request to the acquisition unit123. Further, when the information received by the receiving unit 110contains information for identifying the check request, for example, thereceived information determination unit 121 determines that theinformation received by the receiving unit 110 is the check request andoutputs the request to the acquisition unit 123. Furthermore, when theinformation received by the receiving unit 110 contains information foridentifying the execution request, for example, the received informationdetermination unit 121 determines that the information received by thereceiving unit 110 is the execution request and outputs the request tothe execution unit 124.

The control unit 120 that includes the received informationdetermination unit 121, the checking unit 122, the acquisition unit 123,the execution unit 124 and so on may be a CPU, RAM or the like, forexample, and its functions are implemented by the CPU loading a programstored in the storage unit 130 (or other non-transitorycomputer-readable storage medium) to the RAM and executing the program.However, the configuration is not limited thereto, and some of thereceived information determination unit 121, the checking unit 122, theacquisition unit 123, and the execution unit 124 may be implemented bydedicated hardware. The storage unit 130 may further store various datato be used for execution of a program by the CPU.

1-7. Functional Configuration of Information Processing Device

FIG. 7 is a view showing a functional configuration of an informationprocessing device according to the embodiment. The informationprocessing device 200 at least includes a receiving unit 250, a datastorage unit 230, a storage control unit 226, a screen informationstorage unit 240, and a display control unit 222.

The receiving unit 250 has a function of receiving the first operationspecific information indicating a specific detail of the first operationto be executed by the information providing device 100 from theinformation providing device 100. The first operation specificinformation is contained in the acquisition request and received fromthe information providing device 100. In the above example, the firstoperation is the operation that saves a content to favorites, theoperation that changes the rate of a content or the like, and the firstoperation specific information is a character string “favorites”, “rate”or the like. The receiving unit 250 may be a communication device, forexample, and serves as a communication interface with the informationproviding device 100.

The data storage unit 230 has a function of storing the second operationspecific information indicating a specific detail of the secondoperation to be executed by the information providing device 100. In theabove example, the second operation is the operation that plays acontent, the operation that displays detail information of a content orthe like, and the second operation specific information is a characterstring “play”, “detail information” or the like. The data storage unit230 may be a storage device such as HDD or semiconductor memory, forexample.

The storage control unit 226 has a function of controlling storing ofthe first operation specific information received by the receiving unit250 into the data storage unit 230. The first operation specificinformation is stored into the data storage unit 230 by control of thestorage control unit 226 as information constituting operationinformation 231, for example. The second operation specific informationis already stored in the data storage unit 230 as informationconstituting the operation information 231, for example.

The screen information storage unit 240 has a function of storing screeninformation 241, which is information to be used for creating a screen.The screen information 241 is information indicating a position of eachinformation to be displayed in the screen, for example. As a matter ofcourse, the screen information 241 contains information indicating aposition of operation specific information indicating a specific detailof an operation in the screen.

The display control unit 222 has a function of creating a screen towhich the first operation specific information and the second operationspecific information stored in the data storage unit 230 based on thescreen information 241 stored in the screen information storage unit 240and displaying the screen on the display unit 260. A result that thedisplay control unit 222 displays the character strings “favorites” and“rate” as the first operation specific information on the display unit260 and the character strings “play” and “detail information” as thesecond operation specific information on the display unit 260 based onthe screen information 241 stored in the screen information storage unit240 is displayed like the screen G22 shown in FIG. 4.

Note that, although the display unit 260 is included in the informationprocessing device 200 in this example, the display unit 260 may beoutside the information processing device 200. The display unit 260 maybe a display device, for example.

The receiving unit 250 may further receive the first operationidentification information for identifying the first operation from theinformation providing device 100. In this case, the data storage unit230 further stores the second operation identification information foridentifying the second operation, and the storage control unit 226 mayfurther control storing of the first operation identificationinformation received by the receiving unit 250 into the data storageunit 230. The first operation identification information is stored intothe data storage unit 230 as information constituting the operationinformation 231 in association with the first operation specificinformation by the storage control unit 226, for example. The secondoperation specific information is stored into the data storage unit 230as information constituting the operation information 231 in associationwith the second operation specific information, for example.

Further, in this case, the information processing device 200 may furtherinclude an execution request generation unit 224 and a transmitting unit270. The execution request generation unit 224 selects any one of thefirst operation identification information and the second operationidentification information stored in the data storage unit 230 asselected operation identification information and generates theexecution request which contains the selected operation identificationinformation. Specifically, the execution request generation unit 224uses the operation identification information selected by selectioninformation 232 as the selected operation identification information.Further, the execution request generation unit 224 may generate theexecution request which further contains the content identificationinformation selected by the selection information 232. The format of theexecution request is not particularly limited.

The transmitting unit 270 has a function of transmitting the executionrequest generated by the execution request generation unit 224 to theinformation providing device 100. The transmitting unit 270 may be acommunication device, for example, and serves as a communicationinterface with the information providing device 100.

In the example shown in FIG. 4, the first operation identificationinformation is information for identifying processing to save a contentfavorites, information for identifying an operation to change the rateof a content or the like. The second operation identificationinformation is information for identifying an operation to play acontent, information for identifying an operation to display detailinformation of a content or the like. Thus, in the example shown in FIG.4, a case can occur where the first operation identification informationand the second operation identification information match each other. Insuch a case, displaying both the first operation specific informationand the second operation specific information can cause confusion to auser.

Therefore, the display control unit 222 may determine whether the firstoperation identification information and the second operationidentification information stored in the data storage unit 230 matcheach other or not, and, when it determines that the first operationidentification information and the second operation identificationinformation match, omit setting of either one of the first operationspecific information or the second operation specific information to thescreen, for example. This prevents that the first operation specificinformation and the second operation specific information are bothdisplayed, thereby reducing the possibility of bringing confusion to auser.

Various techniques may be used to select one of the first operationspecific information and the second operation specific information asthe operation specific information which is omitted to be set to thescreen. However, considering that the information processing device 200stores the second operation specific information in advance, the displaycontrol unit 222 may omit setting of the first operation specificinformation to the screen when it is determined that the first operationidentification information and the second operation identificationinformation match.

The execution request generation unit 224 may exclude the firstoperation identification information from information to be selected inthe case where setting of the first operation specific information tothe screen is omitted, and exclude the second operation identificationinformation from information to be selected in the case where setting ofthe second operation specific information to the screen is omitted. Theexecution request generation unit 224 is thereby unable to select theoperation identification information corresponding to the operationspecific information which is omitted to be set to the screen by thedisplay control unit 222, which enables further reduction of thepossibility that confusion is brought to a user.

When the first operation identification information contains a firstfunction name, which is a function for causing the information providingdevice 100 to execute the first operation, and the second operationidentification information contains a second function name, which is afunction for causing the information providing device 100 to execute thesecond operation, the display control unit 222 may determine whether thefirst function name and the second function name match each other. Thedisplay control unit 222 may determine whether the first operationidentification information and the second operation identificationinformation match or not based on the determination, for example.Specifically, the display control unit 222 may determine that the firstoperation identification information and the second operationidentification information match when the first function name and thesecond function name match, and determine that the first operationidentification information and the second operation identificationinformation do not match when the first function name and the secondfunction name do not match.

The display control unit 222 may further determine whether an argumentto the first function and an argument to the second function match eachother in addition to determining whether the first function name and thesecond function name match each other. Based on the determination, thedisplay control unit 222 may determine whether the first operationidentification information and the second operation identificationinformation match or not. Specifically, the display control unit 222 maydetermine that the first operation identification information and thesecond operation identification information match when the argument tothe first function and the argument to the second function match inaddition to that the first function name and the second function namematch, and may determine that the first operation identificationinformation and the second operation identification information do notmatch when the argument to the first function and the argument to thesecond function do not match while the first function name and thesecond function name match. This is described in further detail laterwith reference to FIGS. 34 and 35.

The receiving unit 250 may further have a function of receiving anexecution response which contains an execution result obtained as aresult that the information providing device 100 executes the operationidentified by the selected operation identification informationcontained in the execution request as a response to the executionrequest. In this case, the display control unit 222 may display theexecution result contained in the execution response received by thereceiving unit 250 on the display unit 260. FIG. 4 shows an example inwhich the execution result “saved to favorites” is displayed on thescreen G24 of the display unit 260 by the display control unit 222.

When a type is added to a message contained in the execution result, thedisplay control unit 222 may display the message in a display formataccording to the type on the display unit 260. This is further describedlater with reference to FIGS. 36 and 37.

The receiving unit 110 may further receive transmission availabilityinformation indicating whether the first operation specific informationis transmittable to the information processing device 200 by theinformation providing device 100 from the information providing device100. In this case, the information processing device 200 may furtherinclude a transmission availability determination unit 227 thatdetermines whether the transmission availability information received bythe receiving unit 250 indicates that the first operation specificinformation is transmittable to the information processing device 200 bythe information providing device 100, and an acquisition requestgeneration unit 228 that generates an acquisition request for acquiringthe first operation specific information when the transmissionavailability determination unit 227 determines that the transmissionavailability information indicates that the first operation specificinformation is transmittable.

In this case, the transmitting unit 270 may transmit the acquisitionrequest generated by the acquisition request generation unit 228 to theinformation providing device 100, and the receiving unit 250 may receivethe first operation specific information from the information providingdevice 100 as a response to the acquisition request.

The information processing device 200 may further include a checkrequest generation unit 223 that generates a check request for acquiringcontent identification information for identifying a content held by theinformation providing device 100 and content relevant informationrelevant to the content. In this case, the transmitting unit 270transmits the check request generated by the check request generationunit 223 to the information providing device 100, and the receiving unit250 receives the content identification information and the contentrelevant information from the information providing device 100 as aresponse to the check request.

When the content relevant information received by the receiving unit 250contains the transmission availability information indicating whetherthe first operation specific information indicating the first operationto be executed for a content is transmittable to the informationprocessing device 200 by the information providing device 100, thetransmission availability determination unit 227 acquires thetransmission availability information from the content relevantinformation and determines whether the acquired transmissionavailability information indicates that the first operation specificinformation is transmittable to the information processing device 200 bythe information providing device 100. The transmission availabilitydetermination unit 227 may store the content relevant informationreceived by the receiving unit 250 as content information 233. It isassumed that the content relevant information contains a content listincluding content identification information or the like and metadataincluding transmission availability information or the like, forexample, and the content relevant information can be used later once itis stored as the content information 233.

The acquisition request generation unit 228 generates an acquisitionrequest containing content identification information when thetransmission availability determination unit 227 determines that thetransmission availability information indicates that the first operationspecific information is transmittable. The transmitting unit 270transmits the acquisition request generated by the acquisition requestgeneration unit 228 to the information providing device 100, and thereceiving unit 250 receives the first operation specific informationindicating a specific detail of the first operation to be executed forthe content identified by the content identification informationcontained in the check request from the information providing device 100as a response to the acquisition request.

When the input information determination unit 221 determines thatinformation input by a user through the input unit 210 is informationdesignating transmission of the check request, the input informationdetermination unit 221 outputs the information designating transmissionof the check request to the acquisition request generation unit 228.Further, when the input information determination unit 221 determinesthat information input by a user through the input unit 210 isinformation designating transmission of the execution request, the inputinformation determination unit 221 outputs the information designatingtransmission of the execution request to the execution requestgeneration unit 224. When the input information determination unit 221determines that information input by a user through the input unit 210is information designating a change of the selection information 232,the input information determination unit 221 outputs the informationdesignating a change of the selection information 232 to the displaycontrol unit 222.

The display control unit 222 updates the selection information 232 basedon the information designating a change of the selection information 232input from the input information determination unit 221. The selectioninformation 232 is information for selecting a combination of thecontent identification information and the operation identificationinformation constituting the operation information 231.

The information processing device 200 may include a received informationdetermination unit 225. The received information determination unit 225has a function of determining information received by the receiving unit250. For example, when the information received by the receiving unit250 contains information for identifying the acquisition response, thereceived information determination unit 225 determines that theinformation received by the receiving unit 250 is the acquisitionresponse and outputs the response to the storage control unit 226.Further, when the information received by the receiving unit 250contains information for identifying the check response, for example,the received information determination unit 225 determines that theinformation received by the receiving unit 250 is the check response andoutputs the response to the transmission availability determination unit227. Further, when the information received by the receiving unit 250contains information for identifying the execution response, forexample, the received information determination unit 225 determines thatthe information received by the receiving unit 250 is the executionresponse and outputs the response to the display control unit 222.

Each of the input information determination unit 221, the displaycontrol unit 222, the check request generation unit 223, the executionrequest generation unit 224, the received information determination unit225, the storage control unit 226, the transmission availabilitydetermination unit 227 and the acquisition request generation unit 228may be a CPU, RAM or the like, for example, and its functions areimplemented by the CPU loading a program stored in the data storage unit230 (or other non-transitory computer-readable storage medium) to theRAM and executing the program. However, the configuration is not limitedthereto, and some of the input information determination unit 221, thedisplay control unit 222, the check request generation unit 223, theexecution request generation unit 224, the received informationdetermination unit 225, the storage control unit 226, the transmissionavailability determination unit 227 and the acquisition requestgeneration unit 228 may be implemented by dedicated hardware. The datastorage unit 230 may further store various data to be used for executionof a program by the CPU.

1-8. Meaning of Menu Item Transmitted from Information Providing Device

FIG. 8 is a view showing meaning of menu items transmitted from theinformation providing device according to the embodiment with respect toeach use case. Referring to FIG. 8, as a use case to which theinformation processing device 200 according to an embodiment is applied,a content operation and a media operation are assumed principally.

The content operation displays menu items of a selected content when, inthe case where the information processing device 200 is DMP or DMC, andthe information providing device 100 is DMS, the information processingdevice 200 selects the content of CDS held by the information providingdevice 100 and detects pressing of an option button. The example shownin FIG. 4 corresponds to it.

The media operation displays menu items of a content set to theinformation providing device 100 when, in the case where the informationprocessing device 200 is DMC, and the information providing device 100is DMR, the information processing device 200 detects pressing of anoption button.

The menu item transmitted from the information providing deviceaccording to the embodiment is also applicable to a device configurationmenu (network configuration etc.), a menu automatically displayed at thestart of playing a content (a menu prompting input of whether or not toagree with regulation etc.), a menu automatically displayed at the endof playing a content (a menu prompting input of whether or not to makerecommendations to a friend) or the like.

Further, because it takes specification development costs and design andimplementation costs to make over a part, which can be used in common,for each use case, it may be preferable in some embodiments to preparecommon definition which can be used in common among different use cases.Operation List, Action Directive, Result Document or the like, which isdescribed later, is an example of the common definition. Such commondefinition may be prepared in advance, and only a way of acquisition anda way of setting (network API etc.) for the common definition may bedefined for each use case.

By defining API for acquisition and setting of such common definitionfor a protocol different from DLNA, scenes in which ROP is available canincrease. For example, an AV/C command may be defined in addition toenable use for IEEE 1394.

1-9. Command Executed by Information Processing Device

FIG. 9 is a view showing commands executed by the information processingdevice according to the embodiment with respect to each use case. Theuse cases are as shown in FIG. 8. The commands executed by theinformation processing device correspond to the commands described abovewith reference to FIG. 5.

1-10. Operation Type Indicating Whether Extended Definition is Used

FIG. 10 is a view to explain an operation type indicating whether anextended definition of a remote operation according to the embodiment isused or not. In the case where the operation type is common, regulationis made for a required part for the information processing device 200compatible with ROP. Further, in addition, an operation containing moresophisticated UI transition such as BIVL (Bravia Internet Video Link)may be defined extensionally. BIVL is a type of the service in which aserver provides contents to a television through the Internet.

For example, when checking compatibility with remote operation, byintroducing the concept of the operation type, it is possible todiscriminate whether extended definition is used or not. For example,the operation type as shown in FIG. 10 may be defined.

Although a variety of schemes may occur for “result information” and“operation list”, if it is required that all clients can translate allthe schemes, the schemes which are hardly used are unnecessarilyimplemented for all combinations of equipment, which increases costs.Therefore, only the schemes required to be compatible (translatable),among various schemes, are defined (common type). Of the other schemes,schemes necessary for a certain use case (a use case to link up contentsof BIVL etc.) are put together into a profile (e.g. bivl type). For thelatter optional profile, the server makes it clear to the client whichprofile needs to be supported to translate the ROP which it intends toprovide. For example, a value of “av:msOpList” tag or the like may beused.

1-11. Property Necessary to Support Each Use Case

FIG. 11 is a view showing whether each property is necessary to supporteach use case to which the information processing system according tothe embodiment is applied. In FIG. 11, R indicates that the property isrequired to support the use case.

1-12. Command Necessary to Support Each Use Case

FIG. 12 is a view showing whether each command is necessary to supporteach use case to which the information processing system according tothe embodiment is applied. As described above, the DMS is the ROP serverin the use case “Content Operation”. The DMP, DMC or the like thatrefers to the DMS serves as the ROP client.

When the DMP or the like makes UI display of an operation menu at theselection of a content, use of the remote operation enables addition ofthe operation list provided by the DMS to the operation menu. Accordingto the DLNA, the DMS provides the content list in the DIDL-Lite XMLdocument. The metadata of the content is provided as the property (XMLelement attribute) included in the CDS object indicating the content.Note that “av:msOpList” may be added as the property to the object whichcan provide the operation list according to an embodiment.

The operation list XML document can be obtained by issuing“CDS::X_GetOperationList action” with designation of CDS object ID (@id)of the CDS object having “av:msOpList”. The information processingdevice 200 can add the operation corresponding to the CDS object to theUI by translating the operation list.

When a user performs an operation included in the operation list,“CDS::X_ExecuteOperation action” is issued by designating “ActionDirective” of the operation. “Action Directive” is described in theoperation list document. “Result Argument” of “response” of“X_ExecuteOperation action” contains information necessary for UI afterexecution, such as a character string for an error message.

As described earlier, in the use case “Media Operation”, the DMR serversas the ROP server. A push controller, DMC or the like which refers tothe DMR serves as the ROP client. When the DMC or the like makes UIdisplay of the operation menu of the content set to the DMR, use of theremote operation enables addition of the operation list provided by theDMR to the operation menu.

According to the DLNA, the metadata of the content to which the DMR isset is provided in the DIDL-Lite XML document with use of“AVT::GetPositionInfo” or the like. When he operation list according tothe embodiment can be provided, “av:mrOpList” may be added to thedocument. When “AVT::X_GetOperationList action” is issued withdesignation of instance ID of AVT Instance having “av:mrOpList”, theoperation list XML document can be obtained. The information processingdevice 200 can add the operation to the UI by translating the operationlist.

When a user performs an operation included in the operation list,“AVT::X_ExecuteOperation action” is issued by designating “ActionDirective” of the operation. “Action Directive” is described in theoperation list document. “Result Argument” of “response” of“X_ExecuteOperation action” contains information necessary for UI afterexecution, such as a character string for an error message.

1-13. Each Property Used in Information Processing System

FIG. 13 is a view to explain each property used in the informationprocessing system according to the embodiment. Description as shown inFIG. 13 is added to the property placed in the object in the DIDL-LiteXML document. For example, “urn:schemas-sony-com:av” may be used as anamespace, and “av” may be used as a namespace prefix.

1-14. Variable Used in Information Processing System

FIG. 14 is a view to explain each variable used in the informationprocessing system according to the embodiment. Variables which do notbegin with “X_” are not shown in FIG. 14 because it has the samedefinition as State Variable of the same name of UPnP AV CDS/AVT.“CDS/AVT:X_A_ARG_TYPE_OperationList” includes the XML-escaped OperationList document. “X_A_ARG_TYPE_ActionDirective” includes “ActionDirective” indicating which operation or parameter is selected.“X_A_ARG_TYPE_ROPResult” includes the XML-escaped Result document.

1-15. Command Used in Information Processing System

FIG. 15 is a view to explain each command used in the informationprocessing system according to the embodiment. The“CDS:X_GetOperationList” action returns the operation list correspondingto the designated CDS object ID. The “CDS:X_GetOperationList” actionreturns 701 when the designated object ID does not exist and returns 805when the corresponding object does not have the operation list.

The “CDS:X_ExecuteOperation” action executes the operation correspondingto “ActionDirective” of the operation list with the designated objectID. An execution result of “CDS:X_ExecuteOperation” action is returnedas “Result”. When “result information” is not contained, “ResultArgument” may be empty.

Further, by the “CDS:X_ExecuteOperation” action, a CDS update ID of theobject at the returned time is also returned. The CDS update ID ishandled in the same manner as the update ID when checking with Browse(). When the update ID has changed, the ROP client may determine that theconfiguration of the object has changed as a result of the operation (orat that timing by coincidence).

The “CDS:X_ExecuteOperation” action returns 701 when the designatedobject ID does not exist and returns 805 when the corresponding objectdoes not have the operation list. Further, it returns 806 when thecontent of the designated “ActionDirective” does not match the contentof the operation list and is irrelevant.

The “AVT:X_GetOperationList” action returns the operation listcorresponding to the content set to the designated AVT instance ID. The“AVT:X_GetOperationList” action returns 718 when the designated AVTinstance ID does not exist and returns 805 when there is nocorresponding operation list.

The “AVT:X_ExecuteOperation” action executes the operation correspondingto “ActionDirective” of the operation list of the designated AVTinstance ID. An execution result of the “AVT:X_ExecuteOperation” actionis returned as “Result”. When “result information” is not contained,“Result Argument” may be empty.

The “AVT:X_ExecuteOperation” action returns 718 when the designated AVTinstance ID does not exist and returns 805 when there is nocorresponding operation list. When the content of the designated“ActionDirective” does not match the content of the operation list andis irrelevant, it returns 806.

Even when the list of contents is changed as a result of the ROP,because the client does not understand the semantics of the ROP, the oldlist may remain displayed. However, it is wasteful in terms ofcommunication cost and screen display transition time to update the listeach time. Therefore, when the contents list is changed by ROP processor by coincidence, the value of the update ID may be incremented toprompt the client to update display of the contents list. This is thesame as the scheme of the update ID in CDS:Browse. This enables theclient to become aware that the list is obsolete when the update EDchanges between the fourth and fifth time in the course of browsing thelist having many contents to view ten contents each, for example, andstart the browsing over again.

1-16. Argument and Returned Value of First Command

FIG. 16 is a view to explain an argument and a returned value of acommand (first command) used in the information processing systemaccording to the embodiment. The first command is“CDS:X_GetOperationList” shown in FIG. 15.

1-17. Type of Returned Value of First Command

FIG. 17 is a view to explain types of the returned value of the command(first command) used in the information processing system according tothe embodiment. The first command is “CDS:X_GetOperationList” shown inFIG. 15.

1-18. Argument and Returned Value of Second Command

FIG. 18 is a view to explain an argument and a returned value of acommand (second command) used in the information processing systemaccording to the embodiment. The second command is“CDS:X_ExecuteOperation” shown in FIG. 15.

1-19. Type of Returned Value of Second Command

FIG. 19 is a view to explain types of the returned value of the command(second command) used in the information processing system according tothe embodiment. The second command is “CDS:X_ExecuteOperation” shown inFIG. 15.

1-20. Argument and Returned Value of Third Command

FIG. 20 is a view to explain an argument and a returned value of acommand (third command) used in the information processing systemaccording to the embodiment. The third command is“AVT:X_GetOperationList” shown in FIG. 15.

1-21. Type of Returned Value of Third Command

FIG. 21 is a view to explain types of the returned value of the command(third command) used in the information processing system according tothe embodiment. The third command is “AVT:X_GetOperationList” shown inFIG. 15.

1-22. Argument and Returned Value of Fourth Command

FIG. 22 is a view to explain an argument and a returned value of acommand (fourth command) used in the information processing systemaccording to the embodiment. The fourth command is“AVT:X_ExecuteOperation” shown in FIG. 15.

1-23. Type of Returned Value of Fourth Command

FIG. 23 is a view to explain types of the returned value of the command(fourth command) used in the information processing system according tothe embodiment. The fourth command is “AVT:X_ExecuteOperation” shown inFIG. 15.

1-24. Example of Description of Acquisition Response

FIG. 24 is a view showing an example of description of an acquisitionresponse transmitted by the information providing device according tothe embodiment. “Elements” and “Attributes” of the description exampleD11 are described hereinbelow. In the oplist is root tag, namespacedeclaration (xmlns= . . . ) of the operation list document. As thenamespace, “urn:schemas-sony-com:av:ropoplist” is used. The oplist hasone or more <operation> as a child element.

<operation> indicates a single operation. The number of <operation> is16 or less. <operation@type> represents a type of the operation.Omission is possible only when operation@type is “common type”.<displayString> is required and indicates a display character stringwhen making UI display of the operation or parameter. <displayString> iswithin 256 bytes.

<shortDisplayString> is required when the character string length of<displayString> is greater than 32 bytes in the case of “common type”.When the character string length of <displayString> is 32 bytes or less,it is optional. <shortDisplayString> is a display character string whenmaking UI display of the operation or parameter, and it is used insteadof <displayString> by equipment having only a short display area.<shortDisplayString> is within 32 bytes.

<selected> is optional. It indicates that, when making UI display of thelist, the operation or parameter should be selected by default.<selected> is placed in one or less operation in the operation list.When <selected> is placed for the parameter, it is placed in one or lessparameter in the parameter list with respect to each operation.

<confirm> is optional, and it indicates whether or not to reconfirmexecution when the operation or parameter is selected. A way ofreconfirmation is not limited. <iconUrl> is optional, and it indicatesURL to acquire an icon representing the operation or parameter.<iconUrl@profile> is required when <iconUrl> is present.<iconUrl@profile> indicates the format of the icon. At present, theformat of the icon conforms to the DLNA JPEG_TN profile, and thereforethe value of <iconUrl@profile> is “JPEG_TN”, for example.

<action> is required when <paramerterList> is not present in <operation>and banned when it is present. <action> is required for <paramerter>,and action directive to be used for execution of the operation orparameter is described in <action>. When <action@ropOnly> is “1”, itindicates that the description of the action directive is not parsibleby the ROP client. When <action@ropOnly> is “0”, it indicates thatomission is possible.

<parameterList> is required when <action> is not present in <operation>and banned when it is present. <parameterList> indicates a list ofparameters (sub-choices) relevant to the operation. <parameterList> hasone or more <parameter> as child elements. <parameter> indicates asingle parameter. The number of <parameter> is 16 or less.

When there is no <shortDisplayString>, all equipment are necessary touse a menu item name designed with a short character string for mobileuse or an item name is displayed only partially in mobiles. When thereis no <selected>, the client is unable to determine which choice shouldbe default. A client application can grasp the name of the item but notits meaning, and if it is designed to be able to grasp the meaning,additional implementation is needed for the client when a new functionis added to the server. When there is no <confirm>, the client is unableto recognize which item needs reconfirmation. If reconfirmation is madefor all items as another technique, there is an inadequate case and UXis thereby degraded. Thus, it is necessary to use some scheme to improveuser-friendliness of a set item whose meaning is ungraspable for theclient application.

1-25. Example of Description and Example of Display of AcquisitionResponse

FIG. 25 is a view showing an example of description and an example ofdisplay of an acquisition response transmitted by the informationprocessing device according to the embodiment. An operation listcontained in the acquisition response described like a descriptionexample D12 is displayed like a screen G3. However, the structuraldefinition of the operation list shown in FIG. 25 is just by way ofillustration. For example, the structural definition may be morecomplicated. For example, the depth of the hierarchy may be increased,not limited to the two-level hierarchy. Further, a request for acharacter input form may be made, for example. Such extension may beapplied in the future profile other than common and bivl. Building theschemes like common and bivl allows implementation with no adverseeffect on equipment supporting only common and bivl even when extensionis applied in the future. The item menu for common and bivl and the itemmenu for a new type may be separated.

1-26. Example of Description of Execution Request

FIG. 26 is a view showing an example of description of an executionrequest containing operation identification information selected by theinformation processing device according to the embodiment. The executionrequest described like a description example D21 corresponds to“Normative Action Directive” in the following description.

“Action Directive” is a character string acting like an ID which istransmitted to the ROP server when the operation or parameter describedin the operation list is selected by a user. There are two kinds ofimplementation of “Action Directive”: a format that is used as it is asan opaque ID without translating its substance and a format that can beused by parsing its substance and understanding its semantics as to whatselection of the operation or parameter means. Those formats can bedistinguished by an attribute value of ropOnly in the operation list.

In “ROP-Only Action Directive”, the ROP client is unable to translatethe character string of Action Directive. It is used opaquely as anargument to the operation execution action specified for each use case,such as “CDS::ExecuteOperation( )”. The value in this case is ropOnly=1.

“Normative Action Directive” is the XML document which is configuredaccording to the following syntax, and it represents that performing aremote operation with selection of the operation parameter is equivalentto the case where corresponding SOAP Action is executed. The value inthis case is ropOnly=0 (or omitted). “Normative Action Directive” isXML-escaped in the operation list.

In the description example D21, <action> is a root tag of ActionDirective document. The action element is different from the actionelement in the operation list, and xml namespace declaration is made. Asthe namespace, “urn:schemas-sony-com:av:ropactiondirective” is used.

<name> is the name of the corresponding SOAP Action. <arguemntList> isrequired when there is IN Argument in the SOAP Action. <arguemntList>has one or more <element> respectively representing IN Argument as childelements. In <argument>, an element name is IN Argument name of the SOAPAction, and a value is the element value.

1-27. First Example of Description of Execution Response

FIG. 27 is a view (first view) showing an example of description of anexecution response transmitted by the information providing deviceaccording to the embodiment. In FIG. 27, the execution response isdescribed as a description example D31. The Result document as describedas the description example D31 is the XML document representing what UItransition should be made in the information processing device 200 afterexecution of the operation. As a child element of the result rootelement, result information representing zero or more transitioninformation is included.

Currently, the result information specified in the operation list of thecommon type is only <message>, which represents an UI message text to bedisplayed as the execution result. For example, the UI message at anerror is not SOAP error, and it is performed using the message resultinformation after success of SOAP. Unknown result information isignored.

1-28. Second Example of Description of Execution Response

FIG. 28 is a view (second view) view showing an example of descriptionof an execution response transmitted by the information providing deviceaccording to the embodiment. In FIG. 28, the execution response isdescribed as a description example D32.

1-29. First Example of Application of Information Processing System

FIG. 29 is a view to explain an example (first example) of applicationof the information processing system according to the embodiment. Asshown in FIG. 29, the DMC may give a play command by setting a content 2on the DMS to an instance 1 of the DMR, for example.

1-30. Second Example of Application of Information Processing System

FIG. 30 is a view to explain an example (second example) of applicationof the information processing system according to the embodiment. Asshown in FIG. 30, display may vary depending on the content set to theDMR.

1-31. Information for Specifying Menu Item from Type of Content

FIG. 31 is a view showing information for specifying a menu item to bedisplayed from types of contents by the information processing deviceaccording to the embodiment. The information processing device 200 maystore correspondence information between a type of a content and a menuitem as shown in FIG. 31 in the data storage unit 230, for example.

1-32. Correspondence Between Menu Item Stored in Information ProcessingDevice and Command

FIG. 32 is a view showing information for specifying a command to beexecuted from menu items prestored in the information processing deviceaccording to the embodiment. The information processing device 200 maystore correspondence information between a prestored menu item (own menuitem) and a command (Network API) as shown in FIG. 32 in the datastorage unit 230, for example.

1-33. Correspondence Between Menu Item Transmitted from InformationProviding Device and Command

FIG. 33 is a view showing information for specifying a command to beexecuted from menu items transmitted from the information providingdevice according to the embodiment. The information providing device 100may store correspondence information between a menu item (ROP menu)transmitted from the information providing device and a command (NetworkAPI) as shown in FIG. 33 in the storage unit 130, for example.

The DMP (ROP client) creates an option menu by combining the own menuitems and the menu items acquired through the ROP. If items having thesame function are contained in the respective menu items, the compositeUI becomes unnatural. A first issue is how the DMP detects items withthe same function. Translating “Normative Action Directive” of the ROPmenu item allows the DMP to grasp to what DLNA API the function of themenu item corresponds. On the other hand, for the own menu, the DMPknows by what DLNA API its item is implemented. The items implemented bythe same DLNA API may be determined to have the same function. Thus,either one of those is eliminated from the UI. It is considered to bemore effective to leave the own menu because the DMP completely graspsthe meaning of the own menu.

1-34. Flow of Process Executed by Information Processing Device

FIG. 34 is a flowchart showing a flow of a process executed by theinformation processing device according to the embodiment. Referring toFIG. 34, the receiving unit 250 of the information processing device 200acquires a content list and metadata (step S101), and the display unit260 displays the content list (step S102). DLNA (CDS::Browse) may beused for acquition of the content list and the metadata. Types ofcontents and titles of contents can be thereby acquired.

The input information determination unit 221 decides a content to beprocessed (step S103). For example, information for deciding a contentto be processed is input through the input unit 210 by a user'soperation (e.g. up/down key). The display control unit 222 decides theown content menu (step S104) and determines whether there is ROP menu ornot (step S105). Because an available operation can differ depending onthe type of the content, for example, the display control unit 222decides the menu to be displayed based on the correspondence informationas shown in FIG. 31. The determination as to whether the ROP menu existsor not can be made by checking whether an element (av:msOpList)indicating that ROP is available exists in the metadata. When the ROPmenu does not exist (No in step S105), the display control unit 222proceeds to the step S109.

When, on the other hand, the ROP menu exists (Yes in step S105), thedisplay control unit 222 acquires the ROP menu (step S106), checks anoverlap (step S107), eliminates the overlap (step S108), displays themenu (step S109), and then ends the process. The display control unit222 may acquire the ROP operation menu by “CDS::X_GetOperationList”, forexample. Some menu items contain “Normative Action Directive”, in whichAPI when implemented with DLNA API is described (cf. FIG. 33).

The display control unit 222 grasps in advance which DLNA API is to beused for implementing the own menu items (cf. FIG. 32). The displaycontrol unit 222 searches for an overlap between the API (cf. FIG. 33)of the items obtained by the ROP and the API (cf. FIG. 32) to be usedfor the items (cf. FIG. 31) prepared on its own for the content. In theexample shown in FIGS. 32 and 33, “rating change” of the own menu issynonymous with “rate” of the ROP menu. The step of eliminating anoverlap (step S108) eliminates one of the overlapping elements beforecombining the menu items, and the step of displaying a menu (step S109)obtains the menu to be displayed. The case for music contents in thisexample is shown in FIG. 35.

1-35. Combination of Menu Items

FIG. 35 is a view to explain combination of menu items prestored in theinformation processing device according to the embodiment and menu itemstransmitted from the information providing device according to theembodiment. In the example shown in FIG. 35, “rating change” of the ownmenu is determined to be synonymous with “rate” of the ROP menu, and“rate” of the ROP menu is eliminated.

1-36. Execution Response Containing Message with Label

FIG. 36 is a view showing an example of description of an executionresponse containing a message with a label indicating a type of themessage. As shown in a description example D41 of FIG. 36, label xmlattribute is added to the current format <message>[messagetext]</message> of “Result information”, so that it is described in theformat of <message label=“1”>[message text]</message>.

1-37. Correspondence Between Type of Message and Value of Label

FIG. 37 is a view showing an example of correspondence between a type ofa message and a value of a label. “ROP result information message” isused for the ROP server to direct the ROP client to make UI display ofthe message from the server as the UI transition adequate afterexecution of the menu by the ROP. The message displayed herein may be“recording succeeded”, “saving failed due to too many favorites” or thelike, for example.

Note that, “ROP result information message” may be extended so that notonly the message text but also a label indicating a type of its meaningcan be transmitted in addition to the ROP client. The label may indicate“success”, “failure”, “warning” or the like, for example. The messagewithout label may indicate general information. The ROP client may makemodification according to the label when displaying the message. Forexample, the way of modification can be decided by the ROP client, suchas displaying “recording succeeded” after the mark o or displaying“saving failed” together with a beep sound after the mark x. Further,there may be the ROP client that ignores the labels and handles allmessages in the same manner, for example.

2. Alternative Example

Although exemplary embodiments are described in detail above withreference to the appended drawings, the present disclosure is notlimited thereto. It should be understood by those skilled in the artthat various modifications, combinations, sub-combinations andalterations may occur depending on design requirements and other factorsinsofar as they are within the scope of the appended claims or theequivalents thereof.

3. Summary

According to the embodiment, it is possible to solve the problem ofcompatibility between the screen prestored in the information processingdevice 200 and the screen created by the information providing device100 and flexibly respond to a change in the protocol used between theinformation providing device 100 and the information processing device200.

What is claimed is:
 1. An information-processing apparatus for controlling presentation of a menu over a network, the information-processing apparatus comprising: a communication unit configured to communicate with an information-providing apparatus over the network; an input unit configured to receive input from a user of the information-processing apparatus; a storage unit storing one or more menus; and a control unit configured to: receive, via the input unit, a selection of information for processing; retrieve, from the storage unit, a first menu associated with the selected information, wherein the first menu comprises a first one or more menu items associated with functions for processing the selected information; receive, via the communication unit from the information-providing apparatus over the network, a second menu associated with the selected information, wherein the second menu comprises a second one or more menu items associated with functions for processing the selected information; and generate a third menu associated with the selected information, based on the first menu and on the second menu, wherein generating the third menu comprises: identifying menu items of the first one or more menu items that are duplicative of menu items of the second one or more menu items; eliminating the identified duplicative menu items from the first one or more menu items or from the second one or more menu items; and combining the remaining menu items of the first one or more menu items and the second one or more menu items to generate the third menu.
 2. The information-processing apparatus of claim 1, wherein the information-processing apparatus comprises a Digital Media Player (DMP) operating in a Digital Living Network Alliance (DLNA) environment.
 3. The information-processing apparatus of claim 1, wherein the information-processing apparatus comprises a Digital Media Controller (DMC) operating in a Digital Living Network Alliance (DLNA) environment.
 4. The method of claim 1, wherein the selected information comprises at least one electronic content item stored at the information-providing device.
 5. The information-processing apparatus of claim 1, wherein the control unit is further configured to: determine whether the information-providing apparatus contains the second menu; and request the second menu from the information-providing apparatus only when it is determined that the information-providing apparatus contains the second menu.
 6. The information-processing apparatus of claim 1, wherein the control unit is further configured to: receive, from the information-providing apparatus over the network, metadata associated with the selected information; and determine whether the information providing apparatus contains the second menu based on whether the metadata includes an element indicating that the information-providing apparatus contains the second menu.
 7. The information-processing apparatus of claim 1, wherein the control unit is configured to identify the duplicative menu items based on whether the functions associated with the menu items are the same.
 8. The information-processing apparatus of claim 1, wherein the control unit is configured to identify the overlapping menu items based on a content directory service (CDS) supported by the information-providing device.
 9. The information-processing apparatus of claim 1, wherein: the generated third menu includes a plurality of menu items associated with functions for processing the selected information, and the control unit is further configured to: receive, via the input unit, a selection of a menu item of the third menu; responsive to the selection, send, to the information-providing apparatus over the network, a request to execute the function for processing the selected information associated with the selected menu item; and receive a result of the execution from the information-providing apparatus over the network.
 10. A computer-implemented method for controlling presentation of a menu over a network, the method comprising: receiving a selection of information for processing; accessing a first menu associated with the selected information, the first menu stored at an information-processing apparatus, wherein the first menu comprises a first one or more menu items associated with functions for processing the selected information; receiving, from an information-providing apparatus over the network, a second menu associated with the selected information, wherein the second menu comprises a second one or more menu items associated with functions for processing the selected information; and generating a third menu associated with the selected information based on the first menu and on the second menu, wherein generating the third menu comprises: identifying menu items of the first one or more menu items that are duplicative of menu items of the second one or more menu items; eliminating the identified duplicative menu items from the first one or more menu items or from the second one or more menu items; and combining the remaining menu items of the first one or more menu items and the second one or more menu items to generate the third menu.
 11. A non-transitory computer-readable storage medium storing instructions which, when executed by an information-processing apparatus, cause the information-processing apparatus to perform a method for controlling presentation of a menu over a network, the method comprising: receiving a selection of information for processing; accessing a first menu associated with the selected information, the first menu stored at an information-processing apparatus, wherein the first menu comprises a first one or more menu items associated with functions for processing the selected information; receiving, from an information-providing apparatus over the network, a second menu associated with the selected information, wherein the second menu comprises a second one or more menu items associated with functions for processing the selected information; and generating a third menu associated with the selected information based on the first menu and on the second menu, wherein generating the third menu comprises: identifying menu items of the first one or more menu items that are duplicative of menu items of the second one or more menu items; eliminating the identified duplicative menu items from the first one or more menu items or from the second one or more menu items; and combining the remaining menu items of the first one or more menu items and the second one or more menu items to generate the third menu.
 12. An information-providing apparatus for controlling the presentation of a menu over a network, the information-providing apparatus comprising: a communication unit configured to communicate with an information-processing apparatus over the network; a storage unit storing one or more menus; and a control unit configured to: receive, via the communication unit, a selection of information for processing; retrieve, from the storage unit, a first menu associated with the selected information, wherein the first menu comprises a first one or more menu items associated with functions for processing the selected information, to be combined with a second menu associated with the selected information, the second menu being stored at the information-processing apparatus, wherein the second menu comprises a second one or more menu items associated with functions for processing the selected information; and send, via the communication unit, the retrieved first menu to the information-processing apparatus over the network, wherein the information processing apparatus generates a third menu associated with the selected information by combining the first menu and the second menu, wherein generating the third menu comprises: identifying menu items of the first one or more menu items that are duplicative of menu items of the second one or more menu items; eliminating the identified duplicative menu items from the first one or more menu items or from the second one or more menu items; and combining the remaining menu items of the first one or more menu items and the second one or more menu items to generate the third menu.
 13. A method for controlling the presentation of a menu over a network, the method comprising: receiving, at an information-providing apparatus, a selection of information for processing from an information-processing apparatus over the network; retrieving, from a storage unit at the information-providing apparatus, a first menu associated with the selected information, wherein the first menu comprises a first one or more menu items associated with functions for processing the selected information, to be combined with a second menu associated with the selected information, the second menu being stored at the information-processing apparatus, wherein the second menu comprises a second one or more menu items associated with functions for processing the selected information; and sending the retrieved first menu to the information-processing apparatus over the network, wherein the information processing apparatus generates a third menu associated with the selected information by combining the first menu and the second menu, wherein generating the third menu comprises: identifying menu items of the first one or more menu items that are duplicative of menu items of the second one or more menu items; eliminating the identified duplicative menu items from the first one or more menu items or from the second one or more menu items; and combining the remaining menu items of the first one or more menu items and the second one or more menu items to generate the third menu.
 14. A non-transitory computer-readable storage medium storing instructions which, when executed by an information-providing apparatus, cause the information-providing apparatus to perform a method for controlling the presentation of a menu over a network, the method comprising: receiving, at the information-providing apparatus, a selection of information for processing from an information-processing apparatus over the network; retrieving, from a storage unit at the information-providing apparatus, a first menu associated with the selected information, wherein the first menu comprises a first one or more menu items associated with functions for processing the selected information, to be combined with a second menu associated with the selected information, the second menu being stored at the information-processing apparatus, wherein the second menu comprises a second one or more menu items associated with functions for processing the selected information; and sending the retrieved first menu to the information-processing apparatus over the network, wherein the information processing apparatus generates a third menu associated with the selected information by combining the first menu and the second menu, wherein generating the third menu comprises: identifying menu items of the first one or more menu items that are duplicative of menu items of the second one or more menu items; eliminating the identified duplicative menu items from the first one or more menu items or from the second one or more menu items; and combining the remaining menu items of the first one or more menu items and the second one or more menu items to generate the third menu. 